package com.iplant.ams.service.po.ipt;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.iplant.base.po.BasePO;
import com.iplant.base.po.enums.DBSchemas;
import com.iplant.base.utils.annotation.po.DBBasePO;
import com.iplant.base.utils.annotation.condition.DBCondition;
import com.iplant.base.utils.annotation.field.DBField;
import com.iplant.base.utils.annotation.join.DBJoin;

import java.io.Serializable;

@DBBasePO(TableName = "IPT_Item", CheckName = {"Code"}, CodeAuto = true,
        CodePrefix = "IPT-", Schemas = DBSchemas.AMS)
public class IPTItem extends BasePO implements Serializable {
    /**
     * 序列号
     */
    private static final long serialVersionUID = 1L;

    /**
    * 产线ID
    **/
    @DBCondition
    @DBField
    public int LineID = 0;

    /**
    * 产线名称
    **/
    @DBJoin(name = "Name", tableName = "fmc_line", tableAsName = "fmc_line1", Schemas = DBSchemas.PDM,
            MainTableField = "LineID")
    public String LineName = "";

    /**
    * 首巡检中为工序 点检为设备 维护为设备型号 
    **/
    @DBField
    public int MainID = 0;
    /**
    * 首巡检中为工序 点检为设备 维保为设备型号  
    **/
    public String MainName = "";
    /**
    * 首巡检中为工序 点检为设备 维保为设备型号  
    **/
    public String MainCode = "";

    /**
    * 检验项点类型  1首巡检 2点检 3维护 4 维修（没有）
    **/
    @DBField
    public int IPTType = 0;

    public String IPTTypeName = "";


    /**
    * 检验模式类型   （点检： 1日常  2专业 ）
    **/
    @DBField
    public int ModeType = 0;

    public String ModeTypeName = "";

    /**
    * 检验项目   点检维护中没有  
    **/
    @DBField
    public String GroupName = "";

    /**
    * 项目明细   点检项目   维护明细
    **/
    @DBField
    public String ItemName = "";

    /**
    * 产品ID    首巡检使用
    **/
    @DBField
    public int ProductID = 0;
    public String ProductNo = "";
    public String ProductName = "";

    /**
    * 维护周期H
    **/
    @DBField
    public int IntervalTime = 0;

    /**
    * 维护提前期H
    **/
    @DBField
    public int AlarmIntervalTime = 0;

    @JsonProperty("LineID")
    public int getLineID() {
        return LineID;
    }

    public void setLineID(int lineID) {
        LineID = lineID;
    }

    @JsonProperty("LineName")
    public String getLineName() {
        return LineName;
    }

    public void setLineName(String lineName) {
        LineName = lineName;
    }

    @JsonProperty("MainID")
    public int getMainID() {
        return MainID;
    }

    public void setMainID(int mainID) {
        MainID = mainID;
    }

    @JsonProperty("MainName")
    public String getMainName() {
        return MainName;
    }

    public void setMainName(String mainName) {
        MainName = mainName;
    }

    @JsonProperty("MainCode")
    public String getMainCode() {
        return MainCode;
    }

    public void setMainCode(String mainCode) {
        MainCode = mainCode;
    }

    @JsonProperty("IPTType")
    public int getIPTType() {
        return IPTType;
    }

    public void setIPTType(int IPTType) {
        this.IPTType = IPTType;
    }

    @JsonProperty("IPTTypeName")
    public String getIPTTypeName() {
        return IPTTypeName;
    }

    public void setIPTTypeName(String IPTTypeName) {
        this.IPTTypeName = IPTTypeName;
    }

    @JsonProperty("ModeType")
    public int getModeType() {
        return ModeType;
    }

    public void setModeType(int modeType) {
        ModeType = modeType;
    }

    @JsonProperty("ModeTypeName")
    public String getModeTypeName() {
        return ModeTypeName;
    }

    public void setModeTypeName(String modeTypeName) {
        ModeTypeName = modeTypeName;
    }

    @JsonProperty("GroupName")
    public String getGroupName() {
        return GroupName;
    }

    public void setGroupName(String groupName) {
        GroupName = groupName;
    }

    @JsonProperty("ItemName")
    public String getItemName() {
        return ItemName;
    }

    public void setItemName(String itemName) {
        ItemName = itemName;
    }

    @JsonProperty("ProductID")
    public int getProductID() {
        return ProductID;
    }

    public void setProductID(int productID) {
        ProductID = productID;
    }

    @JsonProperty("ProductNo")
    public String getProductNo() {
        return ProductNo;
    }

    public void setProductNo(String productNo) {
        ProductNo = productNo;
    }

    @JsonProperty("ProductName")
    public String getProductName() {
        return ProductName;
    }

    public void setProductName(String productName) {
        ProductName = productName;
    }

    @JsonProperty("IntervalTime")
    public int getIntervalTime() {
        return IntervalTime;
    }

    public void setIntervalTime(int intervalTime) {
        IntervalTime = intervalTime;
    }

    @JsonProperty("AlarmIntervalTime")
    public int getAlarmIntervalTime() {
        return AlarmIntervalTime;
    }

    public void setAlarmIntervalTime(int alarmIntervalTime) {
        AlarmIntervalTime = alarmIntervalTime;
    }
}
